草庐IT

java - 可以带参数运行吗?

全部标签

ruby - 是否可以递归地要求 Ruby 中目录中的所有文件?

我正在开发一个API,它需要加载当前目录和所有子目录中的所有.rb文件。目前,我正在为我添加的每个文件输入一个新的require语句,但我想把它放在我只需要将文件放在一个子目录中并自动添加它的地方。是否有执行此操作的标准命令? 最佳答案 在这种情况下,它会加载lib目录下的所有文件:Dir["#{File.dirname(__FILE__)}/lib/**/*.rb"].each{|f|load(f)} 关于ruby-是否可以递归地要求Ruby中目录中的所有文件?,我们在StackOve

ruby-on-rails - 我可以编辑使用 'gem install'或从我的gemfile安装的gem吗?

每当我使用以下命令安装gem时,在服务器(或笔记本电脑)上:geminstallmygemname或在我的gemfile中:gem'mygemname'它将在计算机上安装到我计算机上的某个文件夹中。如果我想说添加一些日志记录等,可以转到该文件夹​​并编辑文件吗?如果无法做到这一点,我记得读过您可以在rails3应用程序的“vendor”文件夹下安装gem源代码。如何在本地安装它,以便可以对其进行编辑和添加日志记录(以了解其工作原理等) 最佳答案 你能?是你应该?绝对不。为什么?修改gem来源使其很难升级到gem的较新版本调试问题困难

ruby-on-rails - 如何检查将脚本/运行程序作为 shebang 的 ruby​​ 脚本的语法?

我在检查其shebang上有railsscript/runner的ruby​​脚本的语法时遇到问题。这里有两个示例脚本以及它们如何响应ruby​​语法检查:脚本hello_world_runner.rb:#!/usr/bin/envscript/runnerp"Helloworld!"脚本hello_world.rb#!/usr/bin/envrubyp"Helloworld!"这是我尝试检查语法的方法。第一行是命令,第二行是输出。$ruby-chello_world_runner.rb"Helloworld!"$ruby-chello_world.rbSYNTAXOK

ruby - minitest 可以做类似 "rspec --color --format doc"的事情吗?

我想要一份关于正在运行的测试的打印精美的摘要,类似于rspec--color--formatdoc可以minitest这样做吗? 最佳答案 "HowtocolorunittestswithlibminitestorTest:Unit?是一个类似的问题。那里提供了几个选项:骄傲turnpurdytestminitest-reporters 关于ruby-minitest可以做类似"rspec--color--formatdoc"的事情吗?,我们在StackOverflow上找到一个类似的问

ruby-on-rails - 运行 rake 任务时如何跳过 Rails 初始值设定项的加载?

我的Rails应用程序有一个网站爬虫,它加载爬虫在config/initializers中的Rails初始值设定项中使用的身份验证凭据。初始化程序通过调用SiteLogin模型中的模型方法来加载身份验证。当我运行rakedb:migrate来创建SiteLogin模型表时,它失败了,因为初始化程序期望数据库表已经存在。我可以简单地注释掉初始化程序中的代码,运行迁移以创建表,然后取消注释初始化程序代码,而不用担心这个问题。问题是,我正在使用Capistrano进行部署,这意味着我必须先在没有初始化代码的情况下进行部署以运行迁移,然后再使用初始化代码进行部署。有没有更好的方法来做到这一点,

ruby - 可以将标准 Ruby 记录器配置为在每条消息后刷新吗?

标准Ruby记录器(即::Logger)是否可以在每次写入后自动刷新?更新:我正在根据Howtogettimestampsinyourrubyonrailslogs设置自定义日志格式化程序:classFoodefinitialize(params={})@logger=Logger.new$stdout@logger.formatter=LogFormatter.new@logger.level=params.include?(:log)?params[:log]:Logger::INFO#...endclassLogFormatter我尝试使用来自idlefingers的建议如下:d

ruby-on-rails - 在 Ubuntu 上将 Sidekiq 作为守护进程运行

如何在Ubuntu上将sidekiq作为守护进程运行?如果我运行bundleexecsidekiq-D我得到invalidoption:-D,有没有办法在没有其他Controller的情况下运行它,比如god,upstart。..? 最佳答案 Daemonizesidekiq有一个选项,只需传递-d选项commit 关于ruby-on-rails-在Ubuntu上将Sidekiq作为守护进程运行,我们在StackOverflow上找到一个类似的问题: http

ruby - Rspec 运行除特定文件夹之外的所有测试

我正在处理的项目有一个相当大的测试套件。我目前正在编写单独运行时通过的测试,但是当我运行整个测试套件$rspec时,我遇到了一些导致测试失败的非常时髦的行为。现在测试是这样嵌套的:spec/folder1/folder2/folder3/test.rb这些命令中的每一个都可以正常运行测试并且一切都通过了:$rspecspec/folder1/folder2/folder3$rspecspec/folder1/folder2$rspecspec/folder1/与folder1处于同一级别的大约10个其他文件夹我不想单独与套件的其余部分一起运行,以确定哪个文件夹包含破坏测试的测试我正在努

ruby - "gem install"可以配置为默认安装/usr/bin/外的可执行文件吗?

默认情况下,当您sudogeminstallthegemname时,它会将可执行文件安装到/usr/bin/有办法改变吗?例如,要将它们安装到/usr/local/rubygems/bin(或任何其他路径)?路径似乎没有硬编码到gemspec文件中,所以我不明白为什么这不可能(尽管我对Ruby/Gems的经验很少) 最佳答案 我将此添加为答案,以便当我再次遇到此问题时很明显:)首先,将/var/lib/gems/1.8/bin/中的所有bin移动到/usr/bin/。如果您不这样做,那么卸载或更新gem将不会从原始bin目录中删除二

ruby - 是否可以做一个不区分大小写的 `gsub` ?

我正在执行gsub以将“bad”换成“good”。有没有办法使用capitalize来交换大小写?或者我必须写两次def吗?defadd_more_ruby(string)string.gsub('bad','good').capitalizeend 最佳答案 你可以通过Regexp而不是String,使用i选项指示此正则表达式不区分大小写:defadd_more_ruby(string)string.gsub(/bad/i,'good')end请注意,它不仅会替换'bad'和'BAD',而且还会替换'bAd'。如果你只想替换全大写